﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entidades;
using AccesoBD;



namespace PresentacionEscritorio
{
    public partial class frmRegistrarPractica : Form
    {
        private String opcion = "Registrar";

        public frmRegistrarPractica()
        {
            InitializeComponent();
        }

        private void frmRegistrarPractica_Load(object sender, EventArgs e)
        {

            txtFecha.Text = DateTime.Now.ToString("dd/MM/yyyy hh:mm");
            cargarComboEspecialidad();
            cmbEspecialidad.SelectedIndex = -1;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            Practicas prac = new Practicas();

            int id = 0;
            float precioLista = 0;
            float precioMedico = 0;


            if (opcion == "Registrar")
            {
                id = int.Parse(cmbEspecialidad.SelectedValue.ToString());
                string nombre = txtNombre.Text;
                string descripcion = txtDescripcion.Text;



                if (txtPrecioLista.Text == "")
                {
                    MessageBox.Show("Debe ingresar un precio de Lista", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtPrecioLista.Focus();

                }
                else
                {
                    precioLista = (float)Convert.ToDouble(txtPrecioLista.Text);
                }
                if (txtPrecioMedico.Text == "")
                {
                    MessageBox.Show("Debe ingresar un precio de médico", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtPrecioMedico.Focus();
                }
                else
                {
                    precioMedico = (float)Convert.ToDouble(txtPrecioMedico.Text);
                }
                if (precioLista > 0 && precioMedico > 0)
                {
                    if (precioLista > precioMedico)
                    {
                        bool res = prac.registrarPractica(nombre, descripcion, precioLista, precioMedico, id);

                        if (res == true)
                        {
                            MessageBox.Show("Se registró correctamente!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            limpiar();
                        }
                    }
                    else
                        MessageBox.Show("Precio de lista debe ser mayor que precio del médico!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                           
                }

                else
                {
                    MessageBox.Show("Datos incompletos!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
            }

            //else
            //{
            //    DialogResult result = MessageBox.Show("Seguro que desea modificar el registro?", "Aviso", MessageBoxButtons.YesNo);
            //    if (result == DialogResult.Yes)
            //    {
            //        string nombre2 = txtNombrepractica.Text;
            //        string descripcion2 = txtDescripcionPractica.Text;
            //        float precioLista2 = (float)Convert.ToDouble(txtPrecioPractica.Text);

            //        DateTime? fechaBaja2;

            //        if (string.IsNullOrEmpty(mkbPractica.Text))
            //        {
            //            fechaBaja2 = null;
            //        }
            //        else
            //        {
            //            fechaBaja2 = Convert.ToDateTime(mkbPractica.Text);
            //        }

            //        if (!String.IsNullOrEmpty(nombre2) && !string.IsNullOrEmpty(txtPrecioPractica.Text))
            //        {
            //            prac.modificarPracticar(cod, nombre2, descripcion2, precioLista2, fechaBaja2);
            //            MessageBox.Show("Se actualizó correctamente");
            //            cargarGrilla();
            //        }

            //        else
            //        {

            //            MessageBox.Show("Datos incompletos!");
            //        }

            //    }
            //    opcion = "Registrar";
            //}

        }

        private void cargarComboEspecialidad()
        {
            Practicas p = new Practicas();
            List<Especialidad> lista = p.obtenerEspecialidad();

            if (lista != null)
            {
                cmbEspecialidad.DataSource = lista;
                cmbEspecialidad.ValueMember = "codEspecialidad";
                cmbEspecialidad.DisplayMember = "nombre";
            }
        }


        private void limpiar()
        {
            cmbEspecialidad.SelectedIndex = -1;
            txtNombre.Text = "";
            txtDescripcion.Text = "";
            txtPrecioLista.Text = "";
            txtPrecioMedico.Text = "";
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Seguro que desea salir?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
                this.Close();
        }

        void txtPrecioLista_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
                MessageBox.Show("Debe ingresar dígitos numéricos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        void txtPrecioMedico_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
                MessageBox.Show("Debe ingresar dígitos numéricos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool validar()
        {
            if (cmbEspecialidad.SelectedIndex != -1)
                return true;
            else
            {
                MessageBox.Show("Debe seleccionar una especialidad", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }


            if (String.IsNullOrEmpty(txtNombre.Text))
            {
                MessageBox.Show("Debe ingresar un nombre", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            else
            {
                return true;
            }

            if (String.IsNullOrWhiteSpace(txtPrecioLista.Text))
            {
                MessageBox.Show("Debe ingresar un precio de Lista", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            else
                return true;
            if (String.IsNullOrEmpty(txtPrecioMedico.Text))
            {
                MessageBox.Show("Debe ingresar un precio de Médico", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

            else
                return true;

            return true;
        }











    }
}
